function mostrarFicha(id,carrera) {
    var sda = false;
    var sr = false;




    storeRegion = new Ext.data.JsonStore({

        fields: [
        {
            name:'nRegion',
            mapping:'NOMBRE_REGION'
        },{
            name:'nId',
            mapping:'ID_REGION'
        } ],
        root: 'data',
        url:'../controllers/C_Ficha.php',
        storeId:'data' // id for each record will be the first element

    });
    storeRegion.on('beforeload',function(){
        storeRegion.setBaseParam('method','listarRegiones');
    });

    storeRegion.on('load', function(store,records,bcd){
        sr = true;
        cargaRegion();

    });

    storeCarrerasAl = new Ext.data.JsonStore({

        fields: [
        {
            name:'idCarrera',
            mapping:'ID_CARRERA'
        },{
            name:'nCarrera',
            mapping:'NOMBRE_CARRERA'
        } ],
        root: 'data',
        url:'../controllers/C_Ficha.php',
        storeId:'data' // id for each record will be the first element

    });
    storeCarrerasAl.on('beforeload',function(){
        storeCarrerasAl.setBaseParam('method','listarCarreras');
        storeCarrerasAl.setBaseParam('id_ficha',id);
    });

    storeCarrerasAl.on('load', function(store,records,bcd){
        Ext.getCmp('aCarrera').setValue(carrera);

    });

    storeDatosAc = new Ext.data.JsonStore({

        fields: [
        {
            name:'idCarrera',
            mapping:'ID_CARRERA'
        },{
            name:'nCarrera',
            mapping:'NOMBRE_CARRERA'
        } ],
        root: 'data',
        url:'../controllers/C_Ficha.php',
        storeId:'data' // id for each record will be the first element

    });

    storeDatosAc.on('beforeload',function(){
        storeDatosAc.setBaseParam('method','obtenerDataAc');
        storeDatosAc.setBaseParam('id_ficha',id);
        storeDatosAc.setBaseParam('id_carrera',Ext.getCmp('aCarrera').getValue());
    });
    storeDatosAc.on('load', function(store,records,bcd){
        });



    storeDatosAlumno =  new Ext.data.JsonStore({

        fields: [
        {
            name:'id_ficha',
            mapping:'ID_FICHA_ALUMNO'
        },

        {
            name:'rut',
            mapping:'RUT'
        },

        {
            name:'apaterno',
            mapping:'AP_PATERNO'
        },
        {
            name:'amaterno',
            mapping:'AP_MATERNO'
        },
        {
            name:'nombres',
            mapping:'NOMBRE'
        },
        {
            name:'carrera',
            mapping:'NOMBRE_CARRERA'
        },

        {
            name:'aingreso',
            mapping:'ANIO_INGRESO'
        },
        {
            name:'direcciona',
            mapping:'DIRECCION'
        },
        {
            name:'observaciones',
            mapping:'OBSERVACIONES'
        },
        {
            name:'genero',
            mapping:'SEXO'
        },
        {
            name:'fechan',
            mapping:'FECHA_NACIMIENTO'
        },
        {
            name:'regionp',
            mapping:'REGION_PROCEDENCIA'
        },
        {
            name:'regionnombre',
            mapping:'NOMBRE_REGION'
        },
        {
            name:'nem',
            mapping:'NEM'
        },
        {
            name:'ptjeprueba',
            mapping:'PTAJE_PRUEBA'
        },
        {
            name:'prAcumulado',
            mapping:'PROMEDIO_ACUMULADO'
        }
        ],
        root: 'data',
        url:'../controllers/C_Ficha.php',
        storeId:'data' // id for each record will be the first element

    });

    storeDatosAlumno.on('beforeload',function(){
        storeDatosAlumno.setBaseParam('method','obtenerFicha');
        storeDatosAlumno.setBaseParam('idFicha',id);
    });
   

    storeDatosAlumno.on('load', function(store,records,bcd){

        Ext.getCmp('pRut').setValue(store.getAt(0).get('rut'));
        Ext.getCmp('pNombres').setValue(store.getAt(0).get('nombres'));
        Ext.getCmp('pAPaterno').setValue(store.getAt(0).get('apaterno'));
        Ext.getCmp('pAMaterno').setValue(store.getAt(0).get('amaterno'));
        Ext.getCmp('pDireccion').setValue(store.getAt(0).get('direcciona'));
        Ext.getCmp('pFechaN').setValue(Date.parseDate(store.getAt(0).get('fechan'), "d/m/y"));
        Ext.getCmp('pGen').setValue(store.getAt(0).get('genero'));
        Ext.getCmp('pObservaciones').setValue(store.getAt(0).get('observaciones'));
        Ext.getCmp('aNem').setValue(store.getAt(0).get('nem'));
        Ext.getCmp('ptPrueba').setValue(store.getAt(0).get('ptjeprueba'));
        sda =true;
        cargaRegion();
    //        Ext.getCmp('aPGA').setValue(store.getAt(0).get('prAcumulado'));
        
    //        Ext.getCmp('pNombres').setValue(store.getAt(0).get('nombres'));
    //        Ext.getCmp('pAPaterno').setValue(store.getAt(0).get('apaterno'));
    //        Ext.getCmp('pAMaterno').setValue(store.getAt(0).get('amaterno'));
    //        Ext.getCmp('pDireccionA').setValue(store.getAt(0).get('direcciona'));
    //        Ext.getCmp('pFechaN').setValue(store.getAt(0).get('fechan'));

    });
    storeCarrerasAl.reload();
    storeRegion.reload();
    function cargaRegion(){
        if (sda && sr){
            Ext.getCmp('pRegionP').setValue(storeDatosAlumno.getAt(0).get('regionp'));
        }
    }




    var general = PanelSimple({
        //      frame: true,
        
        title: "General",
        id: 'general',
        items:[
        {
            id:'pRut',
            xtype: 'textfield',
            fieldLabel: 'RUT'
        },
        {
            id:'pNombres',
            xtype: 'textfield',
            anchor: '80%',
            fieldLabel: 'Nombre'
        },
        {
            id:'pAPaterno',
            xtype: 'textfield',
            anchor: '80%',
            fieldLabel: 'Apellido Paterno'
        },
        {
            id:'pAMaterno',
            xtype: 'textfield',
            anchor: '80%',
            fieldLabel: 'Apellido Materno'
        },
        {
            id:'pDireccion',
            xtype: 'textfield',
            anchor: '100%',
            fieldLabel: 'Dirección académica'
        },
        {
            id:'pFechaN',
            xtype: 'datefield',
            //            altFormat:'d/m/y',
            fieldLabel: 'Fecha de nacimiento'
        },
        
        {
            id:'pGen',
            xtype: 'combo',
            fieldLabel: 'Género',
            displayField: 'text',
            valueField: 'id',
            triggerAction: 'all',
            mode: 'local',
            store: new Ext.data.ArrayStore({
                //                id: 0,
                fields: [
                'id',
                'text'
                ],
                data: [[1, 'Masculino'], [2, 'Femenino']]
            })
        },
        {
            id:'pRegionP',
            xtype: 'combo',
            anchor: '100%',
            triggerAction: 'all',
            fieldLabel: 'Región de procedencia',
            mode: 'local',
            displayField: 'nRegion',
            valueField: 'nId',
            hidenName: 'pRegionP',
            store: storeRegion
        },
        {
            id:'pObservaciones',
            xtype:'textarea',
            anchor:'100%',
            height: '100px',
            fieldLabel: 'Observaciones'
        }
        ]
    });
    storeDatosAlumno.reload();





    
    var academico = PanelSimple({
        title: "Académico",
        id: 'academico',
        //      frame: true,
        items: [
        {
            id: 'aCarrera',
            fieldLabel: "Carrera",
            xtype: "combo",
            mode: "local",
            triggerAction: 'all',
            store:storeCarrerasAl,
            displayField: 'nCarrera',
            valueField: 'idCarrera',
            width: -1,
            anchor: "100%",
            listeners:
            {
                select: {
                    fn:function(combo, value)

                    {
                        storeDatosAc.reload();
                    }
                }
            }
        },
        {
            fieldLabel: "Año de ingreso a la carrera",
            xtype: "numberfield",
            allowNegative: false,
            allowDecimals: false

        },
        {
            fieldLabel: "Año de ingreso a la unidad",
            xtype: "numberfield",
            allowNegative: false,
            allowDecimals: false,
            allowBlank: true,
            disabled: true
        },
        {
            fieldLabel: "Reincorporaciones totales",
            xtype: "numberfield",
            allowNegative: false,
            allowDecimals: false,
            disabled: false
        },
        {
            id:'aPGA',
            fieldLabel: "Promedio general acumulado",
            xtype: "textfield",
            //        allowNegative: false,
            //        allowDecimals: true,
            disabled: false
        },
        {
            fieldLabel: "Establecimiento de procedencia",
            xtype: "textfield",
            allowBlank: false,
            width: -1,
            anchor: "80%"
        },
        {
            id:'aNem',
            fieldLabel: "Notas de enseñanza media",
            xtype: "textfield",
            //        allowNegative: false,
            //        allowDecimals: true,
            disabled: false
        },
        {
            fieldLabel: "Modo de ingreso",
            xtype: "combo",
            width: -1,
            anchor: "80%"
        },
        {
            id:'ptPrueba',
            fieldLabel: "Puntaje de ingreso PSU",
            xtype: "numberfield",
            allowNegative: false,
            allowDecimals: false,
            disabled: false
        }
        ]
    });
    
    var storeDerivaciones = new Ext.data.JsonStore({
        fields: [
        {
            name:'id_derivacion', 
            mapping: 'ID_DERIVACION'
        },
        {
            name: 'especialista',
            mapping: 'NOMBRE_COMPLETO'
        },

        {
            name: 'fecha',
            type: 'date',
            mapping: 'FECHA',
            dateFormat: 'd/m/Y'
            
        },
        {
            name: 'tipo',
            mapping: 'TIPO_DERIVACION_NOMBRE'
        }
        ],
        root: 'data',
        url:'../controllers/C_Derivacion.php',
        storeId:'data'
    });
    
    storeDerivaciones.on('beforeload',function(){
        storeDerivaciones.setBaseParam('method','buscarDerivacion');
        storeDerivaciones.setBaseParam('idFicha',id);
    });
    storeDerivaciones .reload();
    
    
    var storeDiagnosticos = new Ext.data.JsonStore({
        fields: [
        {
            name:'id_diagnostico', 
            mapping: 'IDDIAGNOSTICO'
        },
        
        {
            name: 'especialista',
            mapping: 'NOMBRE_COMPLETO'
        },

        {
            name: 'fecha',
            type: 'date',
            mapping: 'FECHA',
            dateFormat: 'd/m/Y'
        },

        {
            name: 'tipo',
            mapping: 'TIPO_DIAGNOSTICO_NOMBRE'
        }
        ],
        root: 'data',
        url:'../controllers/C_Diagnostico.php',
        storeId:'data'
    });


    storeDiagnosticos.on('beforeload',function(){
        storeDiagnosticos.setBaseParam('method','buscarDiagnostico');
        storeDiagnosticos.setBaseParam('idFicha',id);
    });
    storeDiagnosticos.reload();

    var schmeck = new Ext.FormPanel(PanelSimple({
        title:"Resumen test de Schmeck",
        nesting: 2,
        xtype: 'panel',
        layout: 'form',
        defaults: {
            disabled: true
        },

        /*
            Muy bajo
            Bajo
            Medio bajo
            Normal
            Alto
            Muy alto
        */
        items:[
        {
            id: 'pElaborativo',
            xtype: 'textfield',
            fieldLabel: 'Elaborativo'
        },
        {
            id: 'pMetodico',
            xtype: 'textfield',
            fieldLabel: 'Metódico'
        },
        {
            id: 'pSuperficial',
            xtype: 'textfield',
            fieldLabel: 'Superficial'
        },
        {
            id: 'pProfundo',
            xtype: 'textfield',
            fieldLabel: 'Profundo'
        }
        ]
    }));

    var cooper = new Ext.FormPanel(PanelSimple({
        /* Rangos:
                Muy Bajo
                Bajo
                Medio bajo
                Medio Alto
                Alto
                Muy Alto
        */

        title:"Resumen test de Coopersmith",
        nesting: 2,
        xtype: 'panel',
        layout: 'form',
        defaults: {
            disabled: true
        },
        items:[
        {
            id: 'pGeneral',
            xtype: 'textfield',
            fieldLabel: 'General'
        },
        {
            id: 'pAcademico',
            xtype: 'textfield',
            fieldLabel: 'Académico'
        },
        {
            id: 'pFamiliar',
            xtype: 'textfield',
            fieldLabel: 'Familiar'
        },
        {
            id: 'pSocial',
            xtype: 'textfield',
            fieldLabel: 'Social'
        },
        {
            id: 'pMentira',
            xtype: 'textfield',
            fieldLabel: 'Mentira'
        },
        {
            id: 'pTotal',
            xtype: 'textfield',
            fieldLabel: 'Total'
        }
        ]
    }));

    schmeck.load({
        url: '../Controllers/C_Ficha.php',
        params: {
            method: 'cargarSchmeck',
            id: id
        }
    });

    cooper.load({
        url: '../Controllers/C_Ficha.php',
        params: {
            method: 'cargarCoopersmith',
            id: id
        }
    });

    function editarDerivacion(id_derivacion){
        ventana = new Ext.Window({
            modal: true,
            title: 'Editar Derivación',
            closable: true,
            closeAction: 'close',
            resizable: false,
            autoScroll:true,
            //maximizable: true,
            plain: true,
            border: false,
            width: 600,
            height: 400

        });
        ventana.add(mostrarDerivacion(id_derivacion,id, function() {
            storeDerivaciones.reload();
            Ext.getCmp('gridDerivaciones').view.refresh(false);
        }));
        ventana.show();
    }

    var actionsDerivaciones = new Ext.ux.grid.RowActions({
        header: 'Acciones',
        autoWidth: false,
        width:50,
        keepSelection:true,
        actions:[{
            iconCls:'icon-details',
            tooltip: 'Editar Derivación'
        }
        ]
    });
    actionsDerivaciones.on({
        action:function(grid,record,action,row,col){
            if(action=='icon-details'){
                editarDerivacion(record.get('id_derivacion'));
            }
        }
    });

    function editarDiagnostico(id_diagnostico){
        ventana = new Ext.Window({
            modal: true,
            title: 'Editar Diagnóstico',
            closable: true,
            closeAction: 'close',
            resizable: false,
            autoScroll:true,
            //maximizable: true,
            plain: true,
            border: false,
            width: 600,
            height: 400

        });
        ventana.add(mostrarDiagnostico(id_diagnostico,id, function() {
            storeDiagnostico.reload();
            Ext.getCmp('gridDiagnostico').view.refresh(false);
        }));
        ventana.show();
    }

    var actionsDiagnosticos = new Ext.ux.grid.RowActions({
        header: 'Acciones',
        autoWidth: false,
        width:50,
        keepSelection:true,
        actions:[{
            iconCls:'icon-details',
            tooltip: 'Editar Diagnóstico'
        }
        ]
    });
    actionsDiagnosticos.on({
        action:function(grid,record,action,row,col){
            if(action=='icon-details'){
                editarDerivacion(record.get('id_diagnostico'));
            }
        }
    });

    var analisisydiag = {
        title: "Análisis y Diagnóstico",
        xtype: 'panel',
        layout: 'fit',
        border: false,
        headerCfg: {
            style:"font-size: "+24+"px; color: black;"+
        "font-weight: bold; border:0;"+
        "font-family: sans-serif; padding: 25 0 15 0px"
        },
    
        items: [
        {
            frame: false,
            border: false,
            xtype: 'panel',
            layout: 'column',
            autoHeight: true,
            autoWidth: true,
            defaults:{
                columnWidth:0.5,
                padding: "5 12 15 10px"
            },
            items:[
            cooper,
            schmeck
            
            ]
        },
        {
            xtype: 'editorgrid',
            id: 'gridDerivaciones',
            store: storeDerivaciones,
            plugins:[actionsDerivaciones],
            viewConfig: {
                forceFit: true
            },

            //autoFill: true,
            style:'padding:20px 20px 0px 20px',
            colModel: new Ext.grid.ColumnModel({
                columns: [
                {
                    id       :'especialista-derivacion',
                    header   : 'Especialista',
                    width    : 90,
                    sortable : true,
                    dataIndex: 'especialista'
                },
                {
                    id   : 'fecha-derivacion',
                    header: 'Fecha',
                    width    : 75,
                    sortable : true,
                    renderer : Ext.util.Format.dateRenderer('d/m/y'),
                    dataIndex: 'fecha'
                },
                {
                    id   : 'tipo-derivacion',
                    header: 'Tipo',
                    width    : 75,
                    sortable : true,
                    dataIndex: 'tipo'
                },
                actionsDerivaciones
                ]
                }),
            stripeRows: true,
            autoExpandColumn: 'especialista-derivacion',
            height: 400,
            title: 'Derivaciones',
            stateful: true,
            stateId: 'grid',
            tbar:[
            {
                text: 'Nueva derivación',
                handler: function(){
                    editarDerivacion(-1);
                }
            }
            ]
        },
        {
            store: storeDiagnosticos,
            xtype: 'editorgrid',
            id: 'gridDiagnosticos',
            plugins:[actionsDiagnosticos],
            viewConfig: {
                forceFit: true
            },
            //autoFill: true,
            style:'padding:20px 20px 0px 20px',
            columns: [
            {
                id       :'especialista-diagnostico',
                header   : 'Especialista',
                width    : 90,
                sortable : true,
                dataIndex: 'especialista'
            },
            {
                id   : 'fecha-diagnostico',
                header: 'Fecha',
                width    : 75,
                sortable : true,
                renderer : Ext.util.Format.dateRenderer('d/m/Y'),
                dataIndex: 'fecha'
            },
            {
                id   : 'tipo-diagnostico',
                header: 'Tipo',
                width    : 75,
                sortable : true,
                dataIndex: 'tipo'
            },
            actionsDiagnosticos
            ],
            stripeRows: true,
            autoExpandColumn: 'especialista-diagnostico',
            height: 400,
            title: 'Diagnosticos',
            stateful: true,
            stateId: 'grid',
            tbar:[
            {
                text: 'Nueva diagnóstico',
                handler:function(){
                    editarDiagnostico(-1);
                }
            }
            ]
        }
        ]
    };

    function guardar(){
        Ext.getCmp('general').getForm().submit({
            url: '/Fichas/controllers/C_Ficha.php',
            params: {
                method: 'guardarGeneral',
                idFicha: id,
                idGen: Ext.getCmp('pGen').getValue(),
                idRegion: Ext.getCmp('pRegionP').getValue()
            },
            success: guardarAcad,
            failure: function(form, action) {
                Ext.MessageBox.alert("Error", "No se pudo enviar los datos");
            }
        });
    }

    function guardarAcad(form, action) {
    //        Ext.getCmp('academico').getForm.submit({
    //                 url: '/Fichas/controllers/C_Ficha.php',
    //                params: {
    //                    method: 'guardarAcademico',
    //                    id: id
    //                },
    //                success: function (form, action) {
    //                    msg("Éxito", "Se han enviado los cambios");
    //                },
    //                failure: function() {
    ////                    Ext.MessageBox.alert("Error", "No se pudo enviar los datos");
    //                }
    //        });
    }
    var centro = new Ext.Panel({
        tbar:[
        {
            text: 'Guardar',
            iconCls: 'save-form',
            handler: guardar
        }
        ],
        layout: 'anchor',
        border: false,
        region: 'center',
        autoScroll: true,
        defaults : {
            border: false,
            padding: "10 25 30 20px"
        },
        items:[
        {
            layout: 'column',
            autoHeight: true,
            defaults:{
                columnWidth: 0.5,
                padding: "10 25 30 20px"
            },
            items: [
            general,
            academico
            ]
        },
        {
            items:[
            analisisydiag
            ]
        }
        ]
    });
    return centro;
}

